package com.avic.rong.api;


import com.avic.rong.AdvertismentListBean;
import com.avic.rong.auditcertification.bean.CertificationMsgBean;
import com.avic.rong.bean.AliParamBean;
import com.avic.rong.bean.HomeBean;
import com.avic.rong.bean.LoginBean;
import com.avic.rong.bean.collect.ArticleCollectBean;
import com.avic.rong.bean.collect.GoodsCollectBean;
import com.avic.rong.bean.collect.QuestAnswerBean;
import com.avic.rong.bean.collect.StandardCollectBean;
import com.avic.rong.bean.focus_fans.FansBean;
import com.avic.rong.bean.focus_fans.FocusStateBean;
import com.avic.rong.bean.increase_tp.IncreaseTpBean;
import com.avic.rong.bean.login_register.LoginPhoneBean;
import com.avic.rong.bean.login_register.RegisterBean;
import com.avic.rong.bean.mine.AccountBalanceBean;
import com.avic.rong.bean.mine.AccountSecurityBean;
import com.avic.rong.bean.mine.AccountSetBean;
import com.avic.rong.bean.mine.BzMemberCardBean;
import com.avic.rong.bean.mine.DetailInfoBean;
import com.avic.rong.bean.mine.HelpCenterBean;
import com.avic.rong.bean.mine.InterestedBean;
import com.avic.rong.bean.mine.MembershipCardBalanceBean;
import com.avic.rong.bean.mine.MinePageBean;
import com.avic.rong.bean.mine.MyMemberCardBean;
import com.avic.rong.bean.mine.MyQuestBean;
import com.avic.rong.bean.mine.OwnMessageBean;
import com.avic.rong.bean.mine.ReleaseBean;
import com.avic.rong.bean.mine.ReleaseVideoBean;
import com.avic.rong.bean.my_message.MessageBean;
import com.avic.rong.bean.product.BookAttrBean;
import com.avic.rong.bean.product.BookCatBean;
import com.avic.rong.bean.product.CommentBean;
import com.avic.rong.bean.product.GoodAttrBean;
import com.avic.rong.bean.product.GoodBean;
import com.avic.rong.bean.product.SearchGroupBean;
import com.avic.rong.bean.product.SoftwareBean;
import com.avic.rong.bean.show_bean.AchieveBean;
import com.avic.rong.bean.show_bean.AnLiBean;
import com.avic.rong.bean.show_bean.ChannelContent;
import com.avic.rong.bean.show_bean.ChannelListBean;
import com.avic.rong.bean.show_bean.CultivateBean;
import com.avic.rong.bean.show_bean.DetailBean;
import com.avic.rong.bean.show_bean.EsInfoBean;
import com.avic.rong.bean.show_bean.PingBean;
import com.avic.rong.bean.show_bean.ShowBean;
import com.avic.rong.bean.show_bean.SjbzListBean;
import com.avic.rong.bean.show_bean.WenDaBean;
import com.avic.rong.course.bean.BookBackBean;
import com.avic.rong.course.bean.CompanysBean;
import com.avic.rong.course.bean.DealBean;
import com.avic.rong.course.bean.FindExpertBean;
import com.avic.rong.course.bean.FindExpertsBean;
import com.avic.rong.course.bean.PeiXunClassMuLuBean;
import com.avic.rong.course.bean.PeiXunDownBean;
import com.avic.rong.course.bean.PeiXunJiangShiBean;
import com.avic.rong.course.bean.PeiXunListBean;
import com.avic.rong.course.bean.PeiXunSortBean;
import com.avic.rong.course.bean.PingLunBean;
import com.avic.rong.course.bean.PublishGYBean;
import com.avic.rong.course.bean.PublishXQBean;
import com.avic.rong.fragment.fragmentshop.bean.ShopBannerBean;
import com.avic.rong.goodsSort.bean.GoodsSortBean;
import com.avic.rong.goodsSort.bean.GoodsSortItemBean;
import com.avic.rong.goodsSort.bean.GoodsSortZbBean;
import com.avic.rong.goodsSort.bean.secondDrawerBean.GoodsSortGjDrawerBean;
import com.avic.rong.goodsSort.bean.secondDrawerBean.GoodsSortWdDrwerBean;
import com.avic.rong.goodsSort.bean.showRvBean.GoodsSortSearchAllBzBean;
import com.avic.rong.goodsSort.bean.showRvBean.GoodsSortSearchAllBzSxBean;
import com.avic.rong.goodsSort.bean.showRvBean.GoodsSortSearchAllBzTimeBean;
import com.avic.rong.goodsSort.bean.showRvBean.GoodsSortSearchAllGjBean;
import com.avic.rong.goodsSort.bean.showRvBean.GoodsSortSearchAllTsBean;
import com.avic.rong.goodsSort.bean.showRvBean.GoodsSortSearchAllTsTimeBean;
import com.avic.rong.goodsSort.bean.showRvBean.GoodsSortSearchAllWdBean;
import com.avic.rong.goodsSort.bean.showRvBean.GoodsSortSearchTsSxBean;
import com.avic.rong.payUtil.PayVo;
import com.avic.rong.questionOrAnswer.bean.AnswerUpdataBean;
import com.avic.rong.questionOrAnswer.bean.ArticleBean;
import com.avic.rong.questionOrAnswer.bean.AssociateBean;
import com.avic.rong.questionOrAnswer.bean.GetSupplyBean;
import com.avic.rong.questionOrAnswer.bean.HomeInfoBean;
import com.avic.rong.questionOrAnswer.bean.IsAnswerBean;
import com.avic.rong.questionOrAnswer.bean.QaaMyListBean;
import com.avic.rong.questionOrAnswer.bean.TrainBean;
import com.avic.rong.questionOrAnswer.bean.UpdataDataQuestionBean;
import com.avic.rong.questionOrAnswer.bean.VideoBean;
import com.avic.rong.questionOrAnswer.bean.WetherAnswerBean;
import com.avic.rong.search.bean.SearchBuQuanBean;
import com.avic.rong.search.bean.SearchHotBean;
import com.avic.rong.search.bean.SearchPupopBean;
import com.avic.rong.search.bean.SearchTsAttributeBean;
import com.avic.rong.shoppingCar.bean.ShoppingCarListBean;
import com.avic.rong.shoppingCar.bean.SkuBean;
import com.avic.rong.transform.bean.HallAttrBean;
import com.avic.rong.transform.bean.HallBean;
import com.avic.rong.transform.bean.HallDictBean;
import com.avic.rong.userOrder.bean.AddressListBean;
import com.avic.rong.userOrder.bean.AllOrderListBean;
import com.avic.rong.userOrder.bean.BuyAgainBean;
import com.avic.rong.userOrder.bean.CaiLikeBean;
import com.avic.rong.userOrder.bean.DiscountBean;
import com.avic.rong.userOrder.bean.FaPiaoDetailsBean;
import com.avic.rong.userOrder.bean.GetComanyInvoiceBean;
import com.avic.rong.userOrder.bean.GetCommentBean;
import com.avic.rong.userOrder.bean.GetOrderTracesByJsonAllBean;
import com.avic.rong.userOrder.bean.GetTotalAmountBean;
import com.avic.rong.userOrder.bean.HistoryLookBean;
import com.avic.rong.userOrder.bean.MemberCardBean;
import com.avic.rong.userOrder.bean.OrderDetailsBean;
import com.avic.rong.userOrder.bean.OrderDetailsPXBean;
import com.avic.rong.userOrder.bean.OrderStatBean;
import com.avic.rong.userOrder.bean.OrderSubmitBean;
import com.avic.rong.userOrder.bean.PayWayBean;
import com.avic.rong.userOrder.bean.PeiXunOrderBean;
import com.avic.rong.userOrder.bean.ResultQueryBean;
import com.avic.rong.userOrder.bean.ResultQueryPXBean;
import com.avic.rong.userOrder.bean.ShippingListBean;
import com.avic.rong.userOrder.bean.SureOrderBean;
import com.avic.rong.userOrder.bean.ZengZhiShuiBean;
import com.example.minato.minastore.BaseResultEntity;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import okhttp3.MultipartBody;
import retrofit2.http.Field;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Path;
import retrofit2.http.Query;
import retrofit2.http.QueryMap;
import retrofit2.http.Url;

/**
 * Description:  接口
 * Author:       wangyz - 中国航空综合技术研究所
 * Email:        936804097@qq.com
 * Version:      1.0
 * Date:         2017-06-06
 * Copyright:    http://www.avic.com.cn Inc. All rights reserved.
 * 注意：本内容仅限于中国航空综合技术研究所内部传阅，禁止外泄以及用于其他的商业目
 **/
public interface HttpPostService {

    @Multipart
    @POST("uuuuu/upload")
    Observable<BaseResultEntity<String>> uploadUserPhoto(@Part MultipartBody.Part file);

//    @POST("uuuuu/upload")
//    Observable<BaseResultEntity<UploadPhotoBean>> uploadUserPhoto(@Body RequestBody file);

    //微信支付参数
    @GET("app/pay/getWxPayParam")
    Observable<BaseResultEntity<Map<String, Object>>> getWxPayParam(@Query("userId") Integer userId, @Query("orderId") Integer orderId);


    //阿里支付参数
    @GET("app/pay/getAlipayPayParam")
    Observable<BaseResultEntity<AliParamBean>> getAlipayPayParam(@Query("userId") Integer userId, @Query("orderId") Integer orderId);

    //首页接口
    @GET("app/biaozhun/getIndex")
    Observable<BaseResultEntity<HomeBean>> getIndex();


    @FormUrlEncoded
    @POST("app/order/uploadVoucher")
    Observable<BaseResultEntity<String>> uploadVoucher(@Field("tempUrl") String tempUrl, @Field("orderId") Integer orderId, @Field("userIdSign") Integer userIdSign);


    @FormUrlEncoded
    @POST("app/member/updateUserLogo")
    Observable<BaseResultEntity<LoginBean>> updateUserLogo(@Field("logo") String logo, @Field("userIdSign") Integer userIdSign);

    @FormUrlEncoded
    @POST("app/login/appCodeLogin")
    Observable<BaseResultEntity<LoginBean>> appCodeLogin(@Field("mobile") String mobile, @Field("code") String code);


    @FormUrlEncoded
    @POST("app/login/appLogin")
    Observable<BaseResultEntity<LoginBean>> mobileNumberLogin(@Field("userAccount") String userAccount, @Field("credential") String credential);

    /*==========================WCX=====================*/


    /**
     * 发送验证码
     */
    @FormUrlEncoded
    @POST("sendCode")
    Observable<BaseResultEntity> sendCode(@Field("mobile") String mobile, @Field("codeType") Integer codeType, @Field("sign") String sign);

    /**
     * 注册
     */
    @FormUrlEncoded
    @POST("register")
    Observable<BaseResultEntity<RegisterBean>> register(@Field("mobile") String mobile, @Field("code") String code);

    /*  绑定手机
     */
    @FormUrlEncoded
    @POST("member/bindingMobile")
    Observable<BaseResultEntity> bindPhone(@Field("mobile") String mobile, @Field("token") String token, @Field("code") String code);

    /*

    手机登录*/
    @FormUrlEncoded
    @POST("login/loginByCodeSubmit")
    Observable<BaseResultEntity<LoginPhoneBean>> loginPhone(@Field("mobile") String mobile, @Field("code") String code);

    /*
    密码登录*/
    @FormUrlEncoded
    @POST("login/submit")
    Observable<BaseResultEntity<LoginPhoneBean>> pwdLogin(@Field("userAccount") String userAccount, @Field("password") String password);

    /*找回密码*/
    @FormUrlEncoded
    @POST("forgetPassword")
    Observable<BaseResultEntity> findPwd(@Field("mobile") String mobile, @Field("code") String code, @Field("newPassword") String newPassword);

    /*退出当前账号*/
    @FormUrlEncoded
    @POST("login/loginOut")
    Observable<BaseResultEntity> exitAccount(@Field("token") String token);

    /*微信登录*/
    @FormUrlEncoded
    @POST("WXlogin/submit")
    Observable<BaseResultEntity<LoginPhoneBean>> wxLogin(@Field("uuId") String uuId);

    /*微信绑定*/
    @FormUrlEncoded
    @POST("WXSubmitBindingMobile")
    Observable<BaseResultEntity<LoginPhoneBean>> wxBind(@Field("mobile") String mobile, @Field("code") String code, @Field("wxUserJson") String wxUserJson);

    /*
     * 微信解绑
     * */
    @FormUrlEncoded
    @POST("member/unBingWX")
    Observable<BaseResultEntity<LoginPhoneBean>> unBindWx(@Field("token") String token);

    /*
    * 账号安全 微信绑定
    * */
    @FormUrlEncoded
    @POST("/member/bindingWX")
    Observable<BaseResultEntity> accountWxBind(@Field("wxUserJson") String wxUserJson,@Field("token")String token);

    /*
     * 我的首页
     * */
    @GET("member/mine")
    Observable<BaseResultEntity<MinePageBean>> minePage(@Query("token") String token, @Query("deviceId") String deviceId);

    /*
     * 修改手手机号
     * */
    @FormUrlEncoded
    @POST("member/modifyMobile")
    Observable<BaseResultEntity> upPhone(@Field("mobile") String mobile, @Field("code") String code, @Field("newMobile") String newMobile, @Field("oldeMobilecode") String oldeMobilecode, @Field("token") String token);


    /*
     * 账号设置
     * */
    @GET("member/setAccount")
    Observable<BaseResultEntity<AccountSetBean>> accountSet(@Query("token") String token);

    /*
     * 个人信息
     * */
    @GET("member/personalInformation")
    Observable<BaseResultEntity<OwnMessageBean>> ownMessage(@Query("token") String token);

    /*
     * 修改详细信息前获取个人详细信息
     * */
    @GET("member/getUserInformation")
    Observable<BaseResultEntity<DetailInfoBean>> getDetailInfo(@Query("token") String token);

    /*
     * 修改个人详细信息/member/modifyInformation
     * */
    @FormUrlEncoded
    @POST("member/modifyInformation")
    Observable<BaseResultEntity> upDetailInfo(@Field("token") String token, @Field("province") String province, @Field("city") String city,
                                              @Field("provinceName") String provinceName, @Field("cityName") String cityName, @Field("company") String company, @Field("address") String address);


    /*
     * 修改用户昵称
     * */
    @FormUrlEncoded
    @POST("member/modifyNickName")
    Observable<BaseResultEntity> upName(@Field("token") String token, @Field("nickName") String nickaName);

    /*
     * 修改邮箱member/modifyEmail
     * */
    @FormUrlEncoded
    @POST("member/modifyEmail")
    Observable<BaseResultEntity> upEmail(@Field("token") String token, @Field("email") String email);

    /*
     * 修改简介
     * */
    @FormUrlEncoded
    @POST("member/modifyIntroduction")
    Observable<BaseResultEntity> upIntroduction(@Field("token") String token, @Field("introduction") String introduction);

    /*
     * 账号安全/member/accountAndSecurity
     * */
    @GET("member/accountAndSecurity")
    Observable<BaseResultEntity<AccountSecurityBean>> accountSecurity(@Query("token") String token);

    /*
     * 修改密码/member/modifyPassword
     * */
    @FormUrlEncoded
    @POST("member/modifyPassword")
    Observable<BaseResultEntity> upPwd(@Field("mobile") String mobile, @Field("code") String code, @Field("newPassword") String newPassword, @Field("token") String token);

    /*
     * 添加增票资质/member/addUserAppreciationTicket
     * */
    @FormUrlEncoded
    @POST("member/addUserAppreciationTicket")
    Observable<BaseResultEntity> increase_Tp(@Field("token") String token, @Field("companyName") String companyName, @Field("identificationNumber") String identificationNumber,
                                             @Field("regAddress") String regAddress, @Field("regMobile") String regMobile, @Field("bank") String bank, @Field("blankNo") String blankNo);

    /*
     * 获取增票资质信息/member/showUserAppreciationTicket
     * 审核成功
     * */
    @FormUrlEncoded
    @POST("member/showUserAppreciationTicket")
    Observable<BaseResultEntity<IncreaseTpBean>> auditSuccess(@Field("token") String token);

    /*
     * 修改增票资质信息/member/modifyUserAppreciationTicket
     * */

    @FormUrlEncoded
    @POST("member/modifyUserAppreciationTicket")
    Observable<BaseResultEntity> up_increase_Tp(@Field("token") String token, @Field("companyName") String companyName, @Field("identificationNumber") String identificationNumber,
                                                @Field("regAddress") String regAddress, @Field("regMobile") String regMobile, @Field("bank") String bank, @Field("blankNo") String blankNo);

    /*
     * 删除增票资质信息/member/deleteAppreciationTicket
     * */
    @FormUrlEncoded
    @POST("member/deleteAppreciationTicket")
    Observable<BaseResultEntity<IncreaseTpBean>> delete_increase_Tp(@Field("token") String token);


    /*
     * 账户余额/member/moneyDetail/list
     * */
    @GET("member/moneyDetail/list")
    Observable<BaseResultEntity<List<AccountBalanceBean>>> accountBalance(@Query("token") String token, @Query("pageNumber") Integer pageNumber,
                                                                          @Query("pageSize") Integer pageSize, @Query("lastTime") Integer lastTime);

    /*
     * 会员卡余额member/useUserServiceMoney/list
     *
     *
     * */
    @GET("member/useUserServiceMoney/list")
    Observable<BaseResultEntity<List<MembershipCardBalanceBean>>> membershipCardBalance(@Query("token") String token, @Query("pageNumber") Integer pageNumber,
                                                                                        @Query("pageSize") Integer pageSize, @Query("lastTime") Integer lastTime);

    /*
        标准会员卡/member/bzUseUserServiceMoney/list
    */
    @GET("member/bzUseUserServiceMoney/list")
    Observable<BaseResultEntity<List<BzMemberCardBean>>> bzMembershipCardBalance(@Query("token") String token, @Query("pageNumber") Integer pageNumber,
                                                                                 @Query("pageSize") Integer pageSize, @Query("lastTime") Integer lastTime);

    /*
     * 我的消息/member/userNewsList
     * */
    @GET("member/userNewsList")
    Observable<BaseResultEntity<List<MessageBean>>> myMessage(@Query("token") String token, @Query("pageNumber") Integer pageNumber, @Query("pageSize") Integer pageSize);

    /*
     * 消息清空/member/delUserNews
     * */
    @FormUrlEncoded
    @POST("member/delUserNews")
    Observable<BaseResultEntity> cleanMessage(@Field("token") String token, @Field("msgIds") String msgIdse);

    /*
     *消息标记已读/member/updateIsRead
     * */
    @FormUrlEncoded
    @POST("member/updateTcUserNewsTORead")
    Observable<BaseResultEntity> readMessage(@Field("token") String token);

    /*
     *获取账户消息未读数量/getUserNewsCount
     * */
    @FormUrlEncoded
    @POST("getUserNewsCount")
    Observable<BaseResultEntity> unReadMessageCount(@Field("token") String token);

    /*
     * 获取客服消息
     * */
    @FormUrlEncoded
    @POST("cservice/getofflinemsgCount")
    Observable<Double> unReadKeFuMessageCount(@Field("token") String token);

    /*
     * 修改客服消息状态
     * */
    @FormUrlEncoded
    @POST("/cservice/changState")
    Observable<Boolean> updateKeFuMsgState(@Field("token") String token);


    /*
     * 帮助中心  关于融融网
     * */
    @POST("/help/indexExe")
    Observable<HelpCenterBean> helpCenter();


    /*
     * 我的收藏—标准收藏/member/listUserBZFavorites
     * */
    @GET("member/listUserBZFavorites")
    Observable<BaseResultEntity<List<StandardCollectBean>>> standardCollect(@Query("token") String token, @Query("offset") int offset, @Query("limit") int limit);

    /*
     * 我的收藏—商品收藏/member/listUserRJFavorites
     * */
    @GET("member/listUserRJFavorites")
    Observable<BaseResultEntity<List<GoodsCollectBean>>> goodsCollect(@Query("token") String token, @Query("offset") int offset, @Query("limit") int limit);

    /*/member/listArticleFavorites
     * 我的收藏—文章收藏/member/listArticleFavorites
     * */
    @GET("member/listArticleFavorites")
    Observable<BaseResultEntity<List<ArticleCollectBean>>> articleCollect(@Query("token") String token, @Query("offset") int offset, @Query("limit") int limit);

    /*
     * 我的收藏-问答收藏
     * */
    @GET("member/listUserQaaFavorites")
    Observable<BaseResultEntity<List<QuestAnswerBean>>> questAnswer(@Query("token") String token, @Query("pageNo") int pageNo);

    /*
    * 我的收藏-成果转化
    * */

    /*
     * 添加或取消收藏 /member/addOrCancleUserFavorites
     * */
    @FormUrlEncoded
    @POST("member/addOrCancleUserFavorites")
    Observable<BaseResultEntity> deleteCollect(@Field("token") String token, @Field("favoritesFlag") int favoritesFlag, @Field("targetId") int targetId);

    /*
     *点赞取消/content/toggleThumb
     * */
    @FormUrlEncoded
    @POST("content/toggleThumb")
    Observable<BaseResultEntity> zanCancel(@Field("contId") int contId, @Field("type") int type, @Field("token") String token);

    /*
     *回答收藏变动/answer/collectNum
     *      回答点赞变动     answer/thumbNum
     * */
    @FormUrlEncoded
    @POST
    Observable<BaseResultEntity> collectThumbNum(@Url String url, @Field("ansId") int ansId);


    /* *//*
     * 上传头像/uuuuu/upload
     * *//*
    @FormUrlEncoded
    @POST("uuuuu/upload")
    Observable<BaseResultEntity> upLoad(@Field("file") String file);*/

    /*
     * 修改头像/member/modifyUserLogo
     * */
    @FormUrlEncoded
    @POST("member/modifyUserLogo")
    Observable<BaseResultEntity> updateLogo(@Field("token") String token, @Field("logo") String logo);

    /*
     * 我的粉丝/content/followedUserList
     * */
    @FormUrlEncoded
    @POST
    Observable<BaseResultEntity<FansBean>> fansList(@Field("pageNo") int offset, @Field("pageSize") int limit, @Field("token") String token, @Field("userId") String userId, @Url String url);

    /*
     * 关注取消关注/content/toggleFollow
     * */
    @FormUrlEncoded
    @POST("content/toggleFollow")
    Observable<BaseResultEntity<FocusStateBean>> focunState(@Field("followId") int followId, @Field("token") String token);

    /*
     * 会员卡列表/member/UserService
     * */
    @FormUrlEncoded
    @POST("member/UserService")
    Observable<BaseResultEntity<List<MyMemberCardBean>>> memberCard(@Field("token") String token);

    /*
     * 会员卡兑换/member/convertService
     * */
    @GET("member/convertService")
    Observable<BaseResultEntity> converService(@Query("token") String token, @Query("key") String key);

    /*
     * 感兴趣的分类/content/fsInterest
     * */
    @POST("content/fsInterest")
    Observable<BaseResultEntity<InterestedBean>> interested(@Query("token") String token);

    /*
     * 更新用户标签 /content/updateInterest
     * */
    @FormUrlEncoded
    @POST("content/updateInterest")
    Observable<BaseResultEntity> updateInterest(@Field("token") String token, @Field("label") String label);


    /*
     * 发布列表/content/myList
     * */
    @FormUrlEncoded
    @POST("content/myList")
    Observable<BaseResultEntity<ReleaseBean>> releaseList(@Field("offset") int offset, @Field("limit") int limit, @Field("token") String token,@Field("typeFlg")int typeFlg);

    /*
     * 用户本人回答列表
     * */
    @GET("qaa/myList")
    Observable<BaseResultEntity<List<MyQuestBean>>> myList(@Query("pageNo") int pageNo, @Query("token") String token);

    /*
     * 删除内容
     * */
    @FormUrlEncoded
    @POST("content/del")
    Observable<BaseResultEntity> delRelease(@Field("id") int id);

    /*
     * 撤回内容
     * */
    @FormUrlEncoded
    @POST("content/cancel")
    Observable<BaseResultEntity> cancelRelease(@Field("id") int id);

    /*
    * 我发布的视频
    * */
    @FormUrlEncoded
    @POST("content/myVideoList")
    Observable<BaseResultEntity<ReleaseVideoBean>> videoRelease(@Field("token") String token,@Field("offset") int offset,@Field("limit") int limit);

    /*
     * 融融号认证信息
     * */
    @GET("member/rongRongAccountAuthInfo")
    Observable<BaseResultEntity<CertificationMsgBean>> certificationMsg(@Query("token") String token);

    /*
     *融融号认证/member/rongRongAccountAuth
     * */
    @FormUrlEncoded
    @POST("member/rongRongAccountAuth")
    Observable<BaseResultEntity> rongAccountAuth(@FieldMap Map<String, String> map);


    /*
    * 重名校验
    * */
    @GET("member/checkUserName")
    Observable<BaseResultEntity> checkUserName(@Query("token")String token,@Query("userName")String userName);


    /*==========================WCX=====================*/


    /*==========================慧鑫开始=====================*/

    /**
     * 历史抬头
     */
    @GET("member/getInvoicePayeeHistory")
    Observable<BaseResultEntity<List<HistoryLookBean>>> historyLookList(@Query("token") String token);

    /**
     * 收货地址列表
     */
    @GET("member/addressList")
    Observable<BaseResultEntity<List<AddressListBean>>> addressList(@QueryMap Map<String, String> map);

    /**
     * 删除地址
     */
    @FormUrlEncoded
    @POST("member/deleteAddress")
    Observable<BaseResultEntity> deleteAddress(@Field("token") String token, @Field("addressId") String addressId);

    /**
     * 添加收货地址
     */
    @FormUrlEncoded
    @POST("member/addAddress")
    Observable<BaseResultEntity> addAddress(@FieldMap Map<String, String> map);

    /**
     * 设置默认地址
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/setDefaultAddress")
    Observable<BaseResultEntity> setDefaultAddress(@FieldMap Map<String, String> map);

    /**
     * 修改收货地址
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/modifyAddress")
    Observable<BaseResultEntity> modifyAddress(@FieldMap Map<String, String> map);

    /**
     * 历史单位开票信息
     */
    @GET("member/getComanyInvoice")
    Observable<BaseResultEntity<GetComanyInvoiceBean>> getComanyInvoice(@Query("token") String token);

    /**
     * 增票资质信息
     */
    @GET("member/showUserAppreciationTicket")
    Observable<BaseResultEntity<ZengZhiShuiBean>> showUserAppreciationTicket(@Query("token") String token);


    /**
     * 添加或者修改增票信息
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/addOrUpdateUserAppreciationTicket")
    Observable<BaseResultEntity> addOrUpdateUserAppreciationTicket(@FieldMap Map<String, String> map);

    /**
     * 订单商品列表
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/sureOrder")
    Observable<BaseResultEntity<SureOrderBean>> sureOrder(@FieldMap Map<String, String> map, @Field("skuStr") Object skuStr);

    /**
     * 配送方式列表
     */
    @GET("order/shippingList")
    Observable<BaseResultEntity<ArrayList<ShippingListBean>>> shippingList();

    /**
     * 会员卡列表
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/orderServiceList")
    Observable<BaseResultEntity<ArrayList<MemberCardBean>>> orderServiceList(@FieldMap Map<String, String> map);


    /**
     * 获取订单总金额
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/getTotalAmount")
    Observable<BaseResultEntity<GetTotalAmountBean>> getTotalAmount(@FieldMap Map<String, String> map, @Field("skuStr") Object skuStr);

    /**
     * 提交订单
     * "http://gtest.rongrong.huazhi365.com/order/orderSubmit",
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/orderSubmit")
    Observable<BaseResultEntity<OrderSubmitBean>> orderSubmit(@FieldMap Map<String, Object> map, @Field("skuStr") Object skuStr);

    /**
     * 订单状态
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/orderStatus")
    Observable<BaseResultEntity<OrderStatBean>> orderStatus(@FieldMap Map<String, String> map);


    /**
     * 订单列表
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/orderList")
    Observable<BaseResultEntity<AllOrderListBean>> orderList(@FieldMap Map<String, String> map);

    /**
     * 订单详情
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/orderDetail")
    Observable<BaseResultEntity<OrderDetailsBean>> orderDetail(@FieldMap Map<String, String> map);

    /**
     * 取消订单
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/orderCancel")
    Observable<BaseResultEntity> orderCancel(@FieldMap Map<String, String> map);

    /**
     * 发票详情
     */
    @GET("member/invoiceDetailByTargetId")
    Observable<BaseResultEntity<FaPiaoDetailsBean>> invoiceDetailByTargetId(@QueryMap Map<String, String> map);

    /**
     * 申请或者修改发票信息
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/addOrUpdateInvoice")
    Observable<BaseResultEntity> addOrUpdateInvoice(@FieldMap Map<String, String> map);

    /**
     * 删除订单
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/orderDelete")
    Observable<BaseResultEntity> orderDelete(@FieldMap Map<String, String> map);


    /**
     * 查看物流页面
     */
    @GET("order/getOrderTraces")
    Observable<BaseResultEntity> getOrderTraces(@QueryMap Map<String, String> map);

    /**
     * 再次购买
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/buyAgain")
    Observable<BaseResultEntity<BuyAgainBean>> buyAgain(@FieldMap Map<String, String> map);


    /**
     * 添加购物车
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("cart/addCart")
    Observable<BaseResultEntity> addCart(@FieldMap Map<String, String> map);


    /**
     * 支付方式列表
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("pay/toPay")
    Observable<BaseResultEntity<PayWayBean>> toPay(@FieldMap Map<String, String> map);

    /**
     * 支付提交
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("pay/paySubmit")
    Observable<BaseResultEntity<PayVo>> paySubmit(@FieldMap Map<String, String> map);


    /**
     * 支付结果查询
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("pay/payConsequence")
    Observable<BaseResultEntity<ResultQueryBean>> payConsequence(@FieldMap Map<String, String> map);


    /**
     * 猜你需要
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("recom/u4g")
    Observable<BaseResultEntity<List<CaiLikeBean>>> u4g(@FieldMap Map<String, String> map);

    /**
     * 上传图像
     */
    @Multipart
    @POST("uuuuu/upload")
    Observable<BaseResultEntity<String>> uploadProof(@Part MultipartBody.Part file);


    /**
     * 上传支付凭证
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/uploadVoucher")
    Observable<BaseResultEntity> uploadVoucher(@FieldMap Map<String, String> map);

    /**
     * 支付协议
     */
    public static String payAgreen = "http://nm.rongrong.huazhi365.com/pay/agreement";

    /**
     * 完成订单
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/orderFinish")
    Observable<BaseResultEntity> orderFinish(@FieldMap Map<String, String> map);

    /**
     * 订单评价
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/addComment")
    Observable<BaseResultEntity> addComment(@FieldMap Map<String, String> map);

    /**
     * 查看收货地址
     */
    public static String lookAddress = "http://nm.rongrong.huazhi365.com/pay/showMap";


    /**
     * 查看物流
     */
    public static String lookWuLiu = "http://nm.rongrong.huazhi365.com/order/getOrderTraces";


    /**
     * 培训提交订单
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/train/orderSubmit")
    Observable<BaseResultEntity<PeiXunOrderBean>> orderSubmitPX(@FieldMap Map<String, String> map);


    /**
     * 培训取消订单
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/train/orderCancel")
    Observable<BaseResultEntity> orderCancelPX(@FieldMap Map<String, String> map);


    /**
     * 培训删除订单
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/train/orderDelete")
    Observable<BaseResultEntity> orderDeletePX(@FieldMap Map<String, String> map);


    /**
     * 培训上传图片
     */
    @Multipart
    @POST("order/train/upload")
    Observable<BaseResultEntity<String>> uploadPX(@Part MultipartBody.Part file);

    /**
     * 培训上传支付凭证
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/train/uploadVoucher")
    Observable<BaseResultEntity> uploadVoucherPX(@FieldMap Map<String, String> map);


    /**
     * 培训支付提交
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("pay/train/paySubmit")
    Observable<BaseResultEntity<PayVo>> paySubmitPX( @FieldMap Map<String, String> map);

    /**
     * 培训支付结果查询
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("pay/train/payConsequence")
    Observable<BaseResultEntity<ResultQueryPXBean>> payConsequencePX(@FieldMap Map<String, String> map);


    /**
     * 培训订单详情
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/train/orderDetail")
    Observable<BaseResultEntity<OrderDetailsPXBean>> orderDetailPX(@FieldMap Map<String, String> map);

    /**
     * 培训支付方式列表
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("pay/train/toPay")
    Observable<BaseResultEntity<PayWayBean>> toPayPX(@FieldMap Map<String, String> map);


    /**
     * 融融号主页-内容列表
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/rrh/getContentList")
    Observable<BaseResultEntity<List<ArticleBean>>> getContentList(@FieldMap Map<String, String> map);

    /**
     * 融融号主页-视频列表
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/rrh/getContentList")
    Observable<BaseResultEntity<List<VideoBean>>> getVideoList(@FieldMap Map<String, String> map);

    /**
     * 融融号主页发布等数据
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/rrh/getInfo")
    Observable<BaseResultEntity<List<HomeInfoBean>>> getInfo(@FieldMap Map<String, String> map);


    /**
     * 融融号主页-成果列表
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/rrh/getSupplyList")
    Observable<BaseResultEntity<List<GetSupplyBean>>> getSupplyList(@FieldMap Map<String, String> map);


    /**
     * 添加收藏
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/collect")
    Observable<BaseResultEntity> collect(@FieldMap Map<String, String> map);


    /**
     * 取消收藏
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/cancelnCollection")
    Observable<BaseResultEntity> cancelnCollection(@FieldMap Map<String, String> map);


    /**
     * 内容点赞
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("content/thumb")
    Observable<BaseResultEntity> thumb(@FieldMap Map<String, String> map);


    /**
     * 取消点赞
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("content/cancelThumb")
    Observable<BaseResultEntity> cancelThumb(@FieldMap Map<String, String> map);


    /**
     * 回答列表
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("answers/list")
    Observable<BaseResultEntity> answersList(@FieldMap Map<String, String> map);


    /**
     * 用户问答列表
     */
    @GET("qaa/list")
    Observable<BaseResultEntity<List<QaaMyListBean>>> qaaList(@QueryMap Map<String, String> map);


    /**
     * 用户本人问答列表
     */
    @GET("qaa/myList")
    Observable<BaseResultEntity<List<QaaMyListBean>>> qaaMyList(@QueryMap Map<String, String> map);


    /**
     * 联想词
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("questions/associate")
    Observable<BaseResultEntity<List<AssociateBean>>> associate(@FieldMap Map<String, String> map);


    /**
     * 新增提问
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("questions/add")
    Observable<BaseResultEntity> addQuestions(@FieldMap Map<String, String> map);

    /**
     * 添加回答
     */
    @GET("answer/add")
    Observable<BaseResultEntity> addAnswer(@QueryMap Map<String, String> map);

    /**
     * 查看物流
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/getOrderTracesByJsonAll")
    Observable<BaseResultEntity<GetOrderTracesByJsonAllBean>> getOrderTracesByJsonAll(@FieldMap Map<String, String> map);

    /**
     * 回答点赞数变动
     */
    @GET("answer/thumbNum")
    Observable<BaseResultEntity> answerThumbNum(@QueryMap Map<String, String> map);

    /**
     * 回答收藏变动
     */
    @GET("answer/collectNum")
    Observable<BaseResultEntity> answerCollectNum(@QueryMap Map<String, String> map);


    /**
     * 问题收藏变动
     */
    @GET("question/collectNum")
    Observable<BaseResultEntity> questionCollectNum(@QueryMap Map<String, String> map);

    /**
     * 是否回答过问题
     */
    @GET("answer/wetherAnswer")
    Observable<BaseResultEntity<IsAnswerBean>> wetherAnswer(@QueryMap Map<String, String> map);

    /**
     * 删除提问
     */
    @GET("questions/delete")
    Observable<BaseResultEntity<WetherAnswerBean>> deleteQuestion(@QueryMap Map<String, String> map);

    /**
     * 删除回答
     */
    @GET("answer/delete")
    Observable<BaseResultEntity> deleteAnswer(@QueryMap Map<String, String> map);

    /**
     * 问题更新回显数据
     */
    @GET("questions/updateData")
    Observable<BaseResultEntity<UpdataDataQuestionBean>> updateDataQuestions(@QueryMap Map<String, String> map);

    /**
     * 回答更新回显数据
     */
    @GET("answer/updateData")
    Observable<BaseResultEntity<AnswerUpdataBean>> updateDataAnswer(@QueryMap Map<String, String> map);

    /**
     * 更新提问
     */
    @GET("questions/update")
    Observable<BaseResultEntity> updateQuestion(@QueryMap Map<String, String> map);

    /**
     * 编辑回答
     */
    @GET("answer/update")
    Observable<BaseResultEntity> updateAnswer(@QueryMap Map<String, String> map);


    /**
     * 添加回答评论
     */
    @GET("UsComment/addAnswerComment")
    Observable<BaseResultEntity> addAnswerComment(@QueryMap Map<String, String> map);

    /**
     * 优惠券列表
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/getCouponList")
    Observable<BaseResultEntity<List<DiscountBean>>> getCouponList(@FieldMap Map<String, String> map);

    /**
     * 优惠券列表
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/confirmReceipt")
    Observable<BaseResultEntity> confirmReceipt(@FieldMap Map<String, String> map);


    /**
     * 融融号主页-培训列表
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/rrh/study")
    Observable<BaseResultEntity<TrainBean>> rrhStudy(@FieldMap Map<String, String> map);


    /**
     * 培训恢复订单
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/train/orderRecover")
    Observable<BaseResultEntity> orderRecover(@FieldMap Map<String, String> map);


    /**
     * 获取发票信息
     */
    @GET("member/getHistoryInvoice")
    Observable<BaseResultEntity<GetComanyInvoiceBean>> getHistoryInvoice(@QueryMap Map<String, String> map);

    /**
     * 获取发票信息
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("order/getComment")
    Observable<BaseResultEntity<List<GetCommentBean>>> getComment(@FieldMap Map<String, String> map);


    /**
     * 发布视频内容
     */
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("content/publish")
    Observable<BaseResultEntity> publishVideo(@FieldMap Map<String, String> map);
    /* ==========================慧鑫结束=====================*/

    /*---------------------jiaxin -----------------------*/

    /**
     * 购物车接口列表
     */
    //购物车列表
    @GET("cart/cartList")
    Observable<BaseResultEntity<ShoppingCarListBean>> shoppingCarList(@Query("token") String token, @Query("deviceId") String deviceId);

    //校验商品库存
    @GET("cart/checkGoodsNum")
    Observable<BaseResultEntity> goodsKuCun(@Query("num") int num, @Query("skuId") int skuId);

    //更新商品数量
    @GET("cart/updateCartNum")
    Observable<BaseResultEntity> updateCartNum(@Query("num") int num, @Query("cartId") int cartId);

    //选择商品sku
    @GET("cart/changeSku")
    Observable<BaseResultEntity> changeSku(@Query("cartId") int cartId, @Query("skuId") int skuId);

    //删除购物车
    @GET("cart/delCart")
    Observable<BaseResultEntity> delCart(@Query("cartId") String cartId);

    //批量添加收藏
    @POST("member/batchAddUserFavorites")
    Observable<BaseResultEntity> batchAddUserFavorites(@Query("token") String token, @Query("favoritesFlag") int favoritesFlag, @Query("targetIds") String targetIds);

    //添加购物车
//    @Headers("Content-Type: application/x-www-form-urlencoded")
//    @FormUrlEncoded
//    @POST("cart//addCart")
//    Observable<BaseResultEntity> addCart(@Field("skuStr")String skuStr,@Field("orderType")int orderType,@Field("buyAgain")int buyAgain,@Field("token")String token,@Field("deviceId")String deviceId);

    /**
     * 商品接口
     */
    //分类接口
    @GET("category/biaozhun/{topType}/{subType}")
    Observable<BaseResultEntity<GoodsSortBean>> goodsSortBean(@Path("topType") int topType, @Path("subType") String subType);

    @GET("category/biaozhun/{topType}/{subType}")
    Observable<BaseResultEntity<GoodsSortItemBean>> goodsSortItemBean(@Path("topType") int topType, @Path("subType") String subType);

    @GET("category/biaozhun/{topType}/{subType}")
    Observable<BaseResultEntity<GoodsSortZbBean>> goodsSortZbBean(@Path("topType") int topType, @Path("subType") String subType);

    //图书属性
    @GET("appGood/bookAttrs")
    Observable<BaseResultEntity<SearchTsAttributeBean>> tsAttributeBean();


    //广告图
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("content/getAdv")
    Observable<BaseResultEntity<AdvertismentListBean>> getAdv(@Field("advName") String advName);


    //标准属性
    @GET("appGood/criterionAttrs")
    Observable<BaseResultEntity<ArrayList<GoodAttrBean>>> criterionAttrs();

    //图书属性
    @GET("appGood/bookAttrs")
    Observable<BaseResultEntity<BookAttrBean>> bookAttrs();

    //文档属性
    @GET("appGood/documentationAttrs")
    Observable<BaseResultEntity<List<BookCatBean>>> documentationAttrs();

    //软件属性
    @GET("appGood/softwareAttrs")
    Observable<BaseResultEntity<SoftwareBean>> softwareAttrs();


    //标准
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllBzBean>>> searchAllBz(@Field("types") int types, @Field("keyword") String keyword, @Field("pageNo") int pageNo, @Field("pageSize") int pageSize);

    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllBzSxBean>>> searchAllBzShaiXuanBean(@Field("types") int types, @Field("attrPro") String attrPro);

    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllBzBean>>> searchHomeQuanBu(@Field("types") int types, @Field("keyword") String keyword, @Field("pageNo") int pageNo, @Field("pageSize") int pageSize);


    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllBzBean>>> searchHomeQuanBu(@Field("types") int types, @Field("typeId") int typeId, @Field("keyword") String keyword, @Field("pageNo") int pageNo, @Field("pageSize") int pageSize);


    //供应列表
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("sdhall/sh")
    Observable<BaseResultEntity<HallBean>> sdhallSh(@Field("typeId") Integer typeId, @Field("sort") int sort, @Field("keyword") String keyword, @Field("catId") Integer catId, @Field("pageNo") Integer pageNo, @Field("pageSize") Integer pageSize);


    //需求列表
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("sdhall/dh")
    Observable<BaseResultEntity<HallBean>> sdhallDh(@Field("typeId") Integer typeId, @Field("sort") int sort, @Field("keyword") String keyword, @Field("catId") Integer catId, @Field("pageNo") Integer pageNo, @Field("pageSize") Integer pageSize);


    //大厅属性
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("sdhall/getFilterList")
    Observable<BaseResultEntity<HallAttrBean>> sdhallFilterList(@Field("type") String type);

    //需求字典
    @GET("sdhall/getDictInfo")
    Observable<BaseResultEntity<List<HallDictBean>>> sdhallDictInfo();



    //搜索标准
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<List<SearchGroupBean>>> searchStandardAll(@Field("types") int types, @Field("typeId") Integer typeId, @Field("sort") int sort, @Field("keyword") String keyword, @Field("catIds") String catIds, @Field("attrPro") String attrPro, @Field("pageNo") int pageNo);


    //搜索标准目录
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAllForCat")
    Observable<BaseResultEntity<List<GoodBean>>> searchAllForCat(@Field("mulu") int mulu, @Field("sort") int sort, @Field("keyword") String keyword, @Field("attrPro") String attrPro, @Field("pageNo") int pageNo);



    //标准time
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllBzTimeBean>>> searchAllBzTime(@Field("types") int types, @Field("sort") int sort, @Field("keyword") String keyword);

    //图书
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllTsBean>>> searchAllTs(@Field("types") int types, @Field("typeId") int typeId, @Field("keyword") String keyword, @Field("pageNo") int pageNo, @Field("pageSize") int pageSize);

    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchTsSxBean>>> searchAllTsShaiXuanBean(@Field("types") int types, @Field("typeId") int typeId, @Field("attrPro") String attrPro);

    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllTsTimeBean>>> searchAllTsTime(@Field("types") int types, @Field("typeId") int typeId, @Field("sort") int sort, @Field("keyword") String keyword);

    //文档
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllWdBean>>> searchAllWd(@Field("types") int types, @Field("catIds") int catIds, @Field("keyword") String keyword, @Field("pageNo") int pageNo, @Field("pageSize") int pageSize);

    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllWdBean>>> searchAllWdTime(@Field("types") int types, @Field("catIds") int catIds, @Field("sort") int sort);


    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllWdBean>>> searchAllWdSx(@Field("types") int types, @Field("catIds") int catIds, @Field("keyword") String keyword);

    //文档属性
    @GET("appGood/documentationAttrs")
    Observable<BaseResultEntity<ArrayList<GoodsSortWdDrwerBean>>> wdDrawerBean();

    //软件工具
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllGjBean>>> searchAllGj(@Field("types") int types, @Field("catIds") int catIds, @Field("pageNo") int pageNo, @Field("pageSize") int pageSize);

    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllGjBean>>> searchAllGjSx(@Field("types") int types, @Field("catIds") int catIds, @Field("attrPro") String attrPro);

    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<GoodsSortSearchAllGjBean>>> searchAllGjTime(@Field("types") int types, @Field("catIds") int catIds, @Field("sort") int sort);


    //软件属性
    @GET("appGood/softwareAttrs")
    Observable<BaseResultEntity<GoodsSortGjDrawerBean>> gjDrawerBean();

    /**
     * 搜索
     */
    //热搜
    @POST("search/hotKeyWords")
    Observable<BaseResultEntity<ArrayList<SearchHotBean>>> searchHotBean();

    //搜索补全内容
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/searchAll")
    Observable<BaseResultEntity<ArrayList<SearchBuQuanBean>>> searchAllBuQuan(@Field("types") int types, @Field("keyword") String keyword);

    //搜索候选词
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("search/relateTitle")
    Observable<BaseResultEntity<SearchPupopBean>> relateTitle(@Field("title") String title);


    /**
     * 商城首页接口
     */
    //广告轮播接口
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("content/getAdv")
    Observable<BaseResultEntity<ShopBannerBean>> shopBannerBean(@Field("advName") String advName);

    //培训课时目录
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("study/getCourseCatalog")
    Observable<BaseResultEntity<PeiXunClassMuLuBean>> getCourseCatalog(@Field("coursesId") String coursesId, @Field("type") String type, @Field("token") String token);

    //培训加入书架
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("member/study/joinStudyPlain")
    Observable<BaseResultEntity> joinStudyPlain(@Field("coursesId") String coursesId, @Field("token") String token);

    //报名咨询
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("study/consult")
    Observable<BaseResultEntity> consult(@Field("consultName") String consultName, @Field("model") String model, @Field("consult") String consult);

    //讲师列表
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("detail/getAuthorSummary")
    Observable<BaseResultEntity<ArrayList<PeiXunJiangShiBean>>> getAuthorSummary(@Field("coursesId") String coursesId);

    //相关资料
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("study/getCourseFiles")
    Observable<BaseResultEntity<PeiXunDownBean>> getCourseFiles(@Field("coursesId") String coursesId, @Field("token") String token);

    //培训分类
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("study/courseListConditions")
    Observable<BaseResultEntity<PeiXunSortBean>> courseListConditions(@Field("courseType") String courseType);

    //培训列表
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("study/getCourseListConditions")
    Observable<BaseResultEntity<PeiXunListBean>> getCourseListConditions(@Field("type") String type, @Field("classifyName") String classifyName, @Field("pageNo") Integer pageNo, @Field("pageSize") Integer pageSize, @Field("orderBy") String orderBy);

    //培训全部评论
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("study/getEvaluate")
    Observable<BaseResultEntity<PingLunBean>> getEvaluate(@Field("coursesId") String coursesId, @Field("pageNo") String pageNo, @Field("pageSize") String pageSize);

    //关注/取消关注
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("content/toggleFollow")
    Observable<BaseResultEntity<FindExpertBean>> toggleFollow(@Field("followId") int followId, @Field("token") String token);


    /*---------------------jiaxin -----------------------*/

    /**
     * ----------------------------王翔民---
     */


    //成果转化首页
    @POST("cgzh")
    Observable<BaseResultEntity<AchieveBean>> getAchieve();

    //首页问答列表
    @GET("questions/index")
    Observable<BaseResultEntity<List<WenDaBean>>> getWenDaList(@Query("pageNo") Integer pageNo);


    @GET("search/searchAll")
    Observable<BaseResultEntity<List<AnLiBean>>> getAnLi(@Query("types") Integer types);


    //评论列表
    @GET("UsComment/list")
    Observable<BaseResultEntity<PingBean>> getPing(@Query("idValue") Integer idValue, @Query("commentType") Integer commentType, @Query("pageSize") Integer pageSize);

    //获取商品属性集
    @GET("appGood/skuAttr/{goodsId}/{skuId}")
    Observable<BaseResultEntity<SkuBean>> getGoodSku(@Query("goodsId") int goodsId, @Query("skuId") int skuId);

    //内容评论
    @FormUrlEncoded
    @POST("UsComment/addArticleComment")
    Observable<BaseResultEntity> getArticle(@Field("articleId") int articleId, @Field("comments") String comments, @Field("token") String token);

    //首页推荐
    @FormUrlEncoded
    @POST("content/apph")
    Observable<BaseResultEntity<ArrayList<ShowBean>>> getRecommend(@Field("token") String token, @Field("pageNo") Integer pageNo, @Field("pageSize") Integer pageSize);

    //首页关注
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("content/getFollerContent")
    Observable<BaseResultEntity<ArrayList<ShowBean>>> getFollowList(@Field("token") String token, @Field("pageNo") String pageNo, @Field("pageSize") String pageSize);

    //首页世界标准日
    @FormUrlEncoded
    @POST("content/sjbzList")
    Observable<BaseResultEntity<List<SjbzListBean>>> getsjbzList(@Field("pageNo") String pageNo, @Field("pageSize") String pageSize);

    //内容详情
    @FormUrlEncoded
    @POST("content/detail")
    Observable<BaseResultEntity<DetailBean>> getDetails(@Field("token") String token, @Field("contId") String contId);

    //频道列表
    @GET("content/getChannel")
    Observable<BaseResultEntity<ChannelListBean>> getChannelList();


    //各频道列表文章
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("content/channelContent")
    Observable<BaseResultEntity<List<ChannelContent>>> getChannelarticles(@Field("code") String code, @Field("pageNo") Integer pageNo, @Field("pageSize") Integer pageSize);


    //培训首页
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("study/index")
    Observable<BaseResultEntity<CultivateBean>> getCultivate(@Field("token") String token);

    //搜索补全内容
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("content/getEsInfo")
    Observable<BaseResultEntity<ArrayList<EsInfoBean>>> getEsinfo(@Field("contIds") String contIds, @Field("token") String token);


    /*
     * 培训-找专家
     * */
    @FormUrlEncoded
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @POST("experts/list")
    Observable<BaseResultEntity<FindExpertsBean>> findExperts(@Field("token") String token, @Field("pageNo") Integer pageNo, @Field("pageSize") Integer pageSize);
    /*
     * 成果转化-企业列表
     * */
    @FormUrlEncoded
    @POST("sdhall/companys")
    Observable<BaseResultEntity<CompanysBean>> companys(@Field("token") String token, @Field("pageNo") Integer pageNo, @Field("pageSize") Integer pageSize);
     /*
     * 直播
     * */
    @FormUrlEncoded
    @POST("live/getLive")
    Observable<BaseResultEntity> live(@Field("token") String token, @Field("channelId") String channelId);

    /*
     * 成果转化-交易信息
     * */
    @FormUrlEncoded
    @POST("sdhall/skuOrder")
    Observable<BaseResultEntity<List<DealBean>>> skuOrder(@Field("token") String token, @Field("skuId") Integer skuId,@Field("pageNo") Integer pageNo, @Field("pageSize") Integer pageSize);
    /*
     * 成果转化-删除
     * */
    @FormUrlEncoded
    @POST("sdhall/delete")
    Observable<BaseResultEntity> delete(@Field("type") String token, @Field("id") long skuId);

    /*
     *成果转化-发布的供应
     * */
    @FormUrlEncoded
    @POST("sdhall/sellerCenter")
    Observable<BaseResultEntity<List<PublishGYBean>>> publishGY(@FieldMap Map<String, String> map);
 /*
     *成果转化-发布的需求
     * */
    @FormUrlEncoded
    @POST("sdhall/buyerCenter")
    Observable<BaseResultEntity<List<PublishXQBean>>> publishXQ(@FieldMap Map<String, String> map);

    /*
     * 培训-我的书架
     * */
    @FormUrlEncoded
    @POST("member/study/queryLearningPlanList")
    Observable<BaseResultEntity<BookBackBean>> myBookBack(@Field("token") String token, @Field("pageNo") int pageNo, @Field("pageSize") int pageSize);

    /*
     * 培训-移除书架/member/study/removeStudyPlain
     * */
    @FormUrlEncoded
    @POST("member/study/removeStudyPlain")
    Observable<BaseResultEntity> removeBookBack(@Field("token") String token, @Field("coursesId") int coursesId);


    /*
     *
     *
     */
    @FormUrlEncoded
    @POST("content/publish")
    Observable<BaseResultEntity> contentPublish(@Field("token") String token, @Field("title") String title, @Field("text") String text, @Field("typeFlg")Integer typeFlg,@Field("status") Integer status);


    /**
     * ----------------------------王翔民---
     */


//    @GET("app/doc/list")
//    Observable<BaseResultEntity<List<BookBean>>> docList(@Query("docType") int docType, @Query("offset") int offset, @Query("pageNo") int pageNo);
//
//
//    @GET("index")
//    Observable<BaseResultEntity<HomeResourceBean>> getHomeResource();
//
//    @GET("category/categoryQueryList")
//    Observable<BaseResultEntity<List<CategoryBean>>> categoryQueryList();
//
//    @GET("brand/brandQueryList")
//    Observable<BaseResultEntity<List<BrandBean>>> brandQueryList(@Query("catId") String catId);
//
//    @GET("brand/brandQueryList")
//    Observable<BaseResultEntity<List<BrandBean>>> brandQueryListCategory(@Query("catId") String catId);
//
//    //增加浏览量
//    @GET("content/mark")
//    Observable<BaseResultEntity<String>> contentMark(@Query("contId") int contId);
//
//    //文章详情
//    @GET("content/static")
//    Observable<BaseResultEntity<ContentBean>> contentStatic(@Query("contId") String contId, @Query("userId") String userId);
//
//    //商品详情
//    @GET("product/share/{productId}")
//    Observable<BaseResultEntity<ProductionBean>> productDetailById(@Path("productId") String productId);
//
//
//    //获取商品属性集
//    @GET("product/v2/getAttrSet")
//    Observable<BaseResultEntity<FilterAttrBean>> getProductAttrSet(@Query("catId") int catId);
//
//    //获资讯类型： 测评 :: assess 头条 :: topnews 资讯 :: information 报告 :: inspection 百科 :: encyc
//    @GET("content/{contentType}/list")
//    Observable<BaseResultEntity<ContentPageBean>> contentList(@Path("contentType") String contentType, @Query("publicTime") String publicTime, @Query("start") int start, @Query("channelId") int channelId);
//
//    //获资讯类型： 测评 :: assess 头条 :: topnews 资讯 :: information 报告 :: inspection 百科 :: encyc
//    @GET("content/{contentType}/list")
//    Observable<BaseResultEntity<ContentPageBean>> contentList(@Path("contentType") String contentType, @Query("publicTime") String publicTime, @Query("start") int start);
//
//
//    //测评列表
//    @GET("content/assess/list")
//    Observable<BaseResultEntity<ContentPageBean>> contentCePingList(@Query("channelId") long channelId, @Query("publicTime") String publicTime, @Query("start") int start, @Query("userId") String userId);
//
//
//    //全部测评
//    @GET("content/assess/list")
//    Observable<BaseResultEntity<ContentPageBean>> contentCePingListAll(@Query("publicTime") String publicTime, @Query("start") int start, @Query("userId") String userId);
//
//    //百科全部
//    @GET("content/encyc/list")
//    Observable<BaseResultEntity<ContentPageBean>> contentEncycAll(@Query("publicTime") String publicTime, @Query("start") int start);
//
//    //百科
//    @GET("content/encyc/list")
//    Observable<BaseResultEntity<ContentPageBean>> contentEncyc(@Query("channelId") long channelId, @Query("publicTime") String publicTime, @Query("start") int start);
//
//    //百科搜索
//    @GET("content/encyc/list")
//    Observable<BaseResultEntity<ContentPageBean>> contentEncycSearch(@Query("channelId") String channelId, @Query("tagNames") String tagNames, @Query("publicTime") String publicTime, @Query("start") int start);
//
//
//    //华质说
//    @GET("content/original/list")
//    Observable<BaseResultEntity<ContentPageBean>> contentSay(@Query("publicTime") String publicTime, @Query("start") int start);
//
//    //资讯
//    @GET("content/information/list")
//    Observable<BaseResultEntity<ContentPageBean>> contentInformation(@Query("publicTime") String publicTime, @Query("start") int start, @Query("channelId") String channelId);
//
//
//    //全部搜索三种
//    @GET("search/all/list")
//    Observable<BaseResultEntity<SearchAllResultBean>> searchAllList(@Query("keyword") String keyword);
//
//    //全部分页三种
//    @GET("search/hot/list")
//    Observable<BaseResultEntity<ContentPageBean>> searchAllHotList(@Query("publicTime") String publicTime, @Query("start") int start, @Query("keyword") String keyWord, @Query("contIds") String contIds);
//
//    //搜索资讯
//    @GET("search/information/list")
//    Observable<BaseResultEntity<ContentPageBean>> searchInformationList(@Query("publicTime") String publicTime, @Query("start") int start, @Query("keyword") String keyWord);
//
//    //搜索测评
//    @GET("search/assess/list")
//    Observable<BaseResultEntity<ContentPageBean>> searchAssessList(@Query("publicTime") String publicTime, @Query("start") int start, @Query("keyword") String keyWord);
//
//    //搜索百科
//    @GET("search/encyc/list")
//    Observable<BaseResultEntity<ContentPageBean>> searchEncycList(@Query("publicTime") String publicTime, @Query("start") int start, @Query("keyword") String keyWord);
//
//
//    //搜索商品
//    @POST("product/listSearch")
//    Observable<BaseResultEntity<SearchResultBean>> productListSearch(@Body ArgumentBean argumentBean);
//
//    //根据Id查出数据
//    @POST("product/productListSearchByIds")
//    Observable<BaseResultEntity<List<ProductionBean>>> productListSearchByIds(@Body ProductArgumentBean argumentBean);
//
//
//    //文章点赞取消
//    @GET("content/good/cancel")
//    Observable<BaseResultEntity<String>> articleGoodCancel(@Query("contId") int contId);
//
//    //获取品牌分类
//    @GET("category/v2/getCatKnowProByBrandId")
//    Observable<BaseResultEntity<List<CategoryBean>>> brandCategory(@Query("brandId") String brandId);
//
//    //文章点赞
//    @GET("content/good")
//    Observable<BaseResultEntity<String>> articleGood(@Query("contId") int contId);
//
//    //文章分享
//    @GET("content/share")
//    Observable<BaseResultEntity<String>> articleShare(@Query("contId") String contId);
//
//    //版本更新
//    @GET("app/version")
//    Observable<BaseResultEntity<VersionBean>> versionUpdate(@Query("channel") String channel, @Query("type") int type);
//
//    //记录日志
//    @POST("stats/logStats")
//    Observable<BaseResultEntity<String>> logStatus(@Body LogBean logBean);
//
//
//    //记录日志(漏斗)
//    @FormUrlEncoded
//    @POST("stats/userEvent")
//    Observable<BaseResultEntity<String>> logFilterStatus(@Field("jsonObject") String logStr);
//
//
//    //测评子频道
//    @GET("channel/assess/list")
//    Observable<BaseResultEntity<CePingChannelBean>> channelsAssessArticle();
//
//    //百科子频道
//    @GET("channel/encyc/list")
//    Observable<BaseResultEntity<EncyChannelBean>> channelsEncycArticle();
//
//    //搜索热词
//    @GET("search/hotword/list")
//    Observable<BaseResultEntity<HotWordResult>> searchHotWordList();
//
//
//    //推荐品牌
//    @GET("brand/recommendBrandQuery")
//    Observable<BaseResultEntity<List<BrandBean>>> recommendBrandQuery(@Query("catId") String catId);
//
//    //推荐品牌byId
//    @GET("brand/recommendBrandQuery")
//    Observable<BaseResultEntity<List<BrandBean>>> recommendBrandQueryCategory(@Query("catId") String catId);
//
//    //获取分类下商品品牌
//    @GET("brand/getBrandByCatId")
//    Observable<BaseResultEntity<List<BrandBean>>> getBrandByCatId(@Query("catId") int catId);
//
//
//    //产品对比
//    @Headers({"Content-Type: application/json", "Accept: application/json"})
//    @POST("product/listContrast")
//    Observable<BaseResultEntity<CompareResultBean>> productListContrast(@Body RequestBody compareArg);

    //-----------------------------------评价

    //培训首页
    @Headers("Content-Type: application/x-www-form-urlencoded")
    @FormUrlEncoded
    @POST("UsComment/list")
    Observable<BaseResultEntity<CommentBean>> userCommentList(@Field("idValue") Integer idValue, @Field("commentType") Integer commentType, @Field("pageNo") Integer pageNo);


}
